home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1984 May
/
1984-05.d64
/
fast add_vic
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
59 lines
1 dima%(2),b%(2),c%(3),r%(3),p%(5),n%(12,3,3):t%=22:v=36878:s1=36876:i=rnd(-ti)
5 s%=4*(peek(36866)and128)+64*(peek(36869)and112):cs=37888+4*(peek(36866)and128)
10 print"[147]"tab(74)"fastadd":printtab(68)"1, 2, or 3 digits?":gosub400
15 geta$:ifa$=""ora$<"1"ora$>"3"then15
20 l%=val(a$):q%=9+l%*2
25 pb%=0:pr%=0:pa%=0
30 gosub100:w%=0:fori=0tog%:w%=w%+c%(i)*10^i:next:gosub200:gosub300:fori=1to1000:next
35 ifu%=w%thenpr%=pr%+1:goto55
40 poke36879,8:print"[147]"tab(138);"w r o n g":printtab(49)"the correct"
45 printtab(50)"answer is":fori=1to2000:next:gosub200
50 y%=14:form=0tog%:x%=q%-m*4:z%=c%(m):gosub500:next:fori=1to1000:next:xt%=30:goto65
55 pokev,15:fori=0to5:pokes1,p%(i):forj=1to50:nextj:ifi=3thenforj=1to75:nextj
60 nexti:fori=1to50:nexti:pokev,o
65 pb%=pb%+30-xt%:pa%=pa%+1:ifpa%<10then30
70 pr%=pr%*10:s$=str$(pr%):x1%=3-len(s$)*2:print"[147][144]":y%=3:h%=0
75 form=2tolen(s$):x%=x1%+m*4:z%=val(mid$(s$,m,1)):gosub500:next:pb%=pb%*l%
80 x%=x%+4:z%=12:gosub500
85 printtab(204)"timed score":s$=str$(pb%):x1%=5-len(s$)*2:y%=12:h%=2
90 form=2tolen(s$):x%=x1%+m*4:z%=val(mid$(s$,m,1)):gosub500:next
92 printtab(182)"hit any key"
94 geta$:ifa$=""then94
96 goto25
100 fori=0to2:a%(i)=0:b%(i)=0:c%(i)=0:r%(i)=0:next:r%(3)=0:c%(3)=0
110 fori=0tol%-1:a%(i)=int(10*rnd(1)):ifa%(i)<>0thene%=i
120 b%(i)=int(10*rnd(1)):ifb%(i)<>0thenf%=i
130 w%=a%(i)+b%(i)+r%(i):ifw%<10thenc%(i)=w%:g%=i:next:return
140 c%(i)=w%-10:r%(i+1)=1:next:c%(i)=1:g%=i:return
200 poke36879,24:print"[147]":h%=0:y%=2:form=0toe%:x%=q%-m*4:z%=a%(m):gosub500:next
210 poke198,0:y%=7:form=0tof%:x%=q%-m*4:z%=b%(m):gosub500:next
220 x%=q%-(f%+1)*4:z%=10:gosub500:pokev,15:form=282-q%to269+q%
230 pokes%+m,160:pokecs+m,h%:pokes1,m-30:next:pokev,0
240 h%=6:y%=14:z%=11:form=0tog%:x%=q%-m*4:gosub500:next:return
300 u%=0:h%=2:y%=14:ti$="000000"
310 print""tab(220)tab(220)"problem time right":printtab(2);pa%+1;tab(17);pr%
320 form=0tog%
330 xt%=ti/60:ifxt%>30then return
340 pokes%+472,asc(mid$(ti$,5,1))+128:pokecs+472,0
350 pokes%+473,asc(mid$(ti$,6,1))+128:pokecs+473,0
360 geta$:ifa$=""ora$<"0"ora$>"9"then330
370 x%=q%-m*4:z%=val(a$):gosub500:u%=u%+z%*10^m:next:return
400 fori=0to12:forj=0to3:fork=0to3:readn%(i,j,k):nextk,j,i
410 fori=0to5:readp%(i):nexti:return
500 pokev,15:fori=0to3:forj=0to3:k=t%*y%+x%+t%*j+i:pokes%+k,n%(z%,j,i):pokecs+k,h%
510 pokes1,255-x%*j-y%*i:nextj,i:pokev,0:pokes1,0:return
1100 data108,226,226,123,225,32,32,97,225,32,32,97,32,226,226,32
1101 data32,108,97,32,32,126,97,32,32,32,97,32,32,226,226,126
1102 data108,226,226,123,32,32,98,126,108,226,32,32,124,226,226,126
1103 data108,226,226,123,32,108,98,126,108,32,32,97,32,226,226,32
1104 data32,32,254,32,32,255,225,32,124,226,251,126,32,32,124,32
1105 data225,226,226,126,124,226,127,32,108,32,108,126,32,226,126,32
1106 data32,255,226,32,225,98,98,32,225,32,32,97,32,226,226,32
1107 data225,226,226,97,32,32,255,32,32,255,32,32,32,126,32,32
1108 data108,226,226,123,124,98,98,126,225,32,32,97,32,226,226,32
1109 data108,226,226,123,124,98,98,97,32,32,108,126,32,226,126,32
1110 data32,32,123,32,32,98,252,123,32,32,97,32,32,32,32,32
1111 data160,160,160,97,160,160,160,97,160,160,160,97,160,160,160,97
1112 data108,123,32,123,124,126,255,32,32,255,108,123,124,32,124,126
1113 data215,225,231,235,231,235